﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Extensions;
using ConfExpert.Utility;
using DevExpress.XtraEditors;

namespace Tailord
{
    public partial class TopBol : XPopupForm
    {
        private DataRow drKesim;
        private string Barkod;
        decimal TopMt;
        public decimal KesilecekMetre { get; set; }

        public TopBol()
        {
            InitializeComponent();
        }

        public TopBol(DataRow drKesim):this()
        {
            this.drKesim = drKesim;
            btnOk.Enabled = false;
        }

        public TopBol(DataRow drKesim, string Barkod,decimal TopMt):this()
        {
            this.TopMt = TopMt;
            this.drKesim = drKesim;
            this.Barkod = Barkod;
        }

        private void TopBol_Load(object sender, EventArgs e)
        {
            int KumasId = drKesim["KumasId"].ToIntZero();
            string KumasKodu = drKesim["KumasKodu"].ToStringNN();
            decimal Ihtiyac = drKesim["ToplamIhtiyacMt"].ToDecimalNN();
            KesilecekMetre = Ihtiyac;

            lblKumasKodu.Text = KumasKodu;
            lblIhtiyac.Text = Ihtiyac.ToString();
            lblKesilecekMt.Text = Ihtiyac.ToString();
            lblBarkod.Text = Barkod;
            lblTopmt.Text = TopMt.ToString();

            if (Ihtiyac > TopMt)
            {
                KesilecekMetre = TopMt;
                lblKesilecekMt.Text = TopMt.ToString();
            }
        }
                
        private void lblBarkod_TextChanged(object sender, EventArgs e)
        {
            if (lblBarkod.Text.Length > 7)
            {
                DataTable dtTop = AppSession.DataManager.ExecuteDataTableByQuery("Select * from KumasTop where TopNo =" + lblBarkod.Text);
                if (dtTop.Rows.Count > 0)
                {
                    int TopKumasId = dtTop.Rows[0]["KumasId"].ToIntZero();
                    int KumasId = drKesim["KumasId"].ToIntZero();
                    decimal TopMt = dtTop.Rows[0]["Metraj"].ToDecimalNN();
                    decimal Ihtiyac = drKesim["ToplamIhtiyacMt"].ToDecimalNN();

                    if (KumasId != TopKumasId)
                    {
                        lblHata.Text = "Yanlış kumaş okuttunuz ! ";
                        btnOk.Enabled = false;
                        lblTopmt.Text = TopMt.ToString();
                        return;
                    }
                    else
                    {
                        lblHata.Text = "";
                        btnOk.Enabled = true;
                        lblTopmt.Text = TopMt.ToString();

                    }
                }
                else
                {
                    lblHata.Text = "Kumaş topu bulunamadı";
                    lblTopmt.Text = "";
                    btnOk.Enabled = false;
                }
            }
        }

        private void btnOk_Click(object sender, EventArgs e)
        {
            int KumasId = drKesim["KumasId"].ToIntZero();
            string TedarikLines = drKesim["Tedariklines"].ToStringNN();
            string TopNo = Barkod;

            ExecQuery("TopBol", TopNo, KesilecekMetre, KumasId, TedarikLines, 1, "", AppSession.UserInfo.UserId, txtNotlar.Text);
            XtraMessageBox.Show("Top bölündü");
            this.DialogResult = DialogResult.OK;
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.Cancel;
        }
    }
}
